// ==UserScript==
// @name         订单系统修改器
// @namespace    http://tampermonkey.net/
// @version      2024-12-01
// @description  try to take over the world!
// @author       You
// @match        https://w2.eo16f8fp9b6i8.top/admin/home
// @icon         https://www.google.com/s2/favicons?sz=64&domain=eo16f8fp9b6i8.top
// @grant        none
// ==/UserScript==

(function() {
    'use strict';



    // 获取 localStorage 中的 pcNumber，默认值为空字符串
    const getPCNumber = () => localStorage.getItem('pcNumber') || '';
    const savePCNumber = (value) => localStorage.setItem('pcNumber', value);

    const setProxy = (id, key) => {
        const pc = getPCNumber()

        if(!pc){

            window.layer.msg(`缺少PC编号`, { icon: 2, time: 3000, offset: '50px' });
            return
        }

        // 使用 Layui 弹出提示框
        fetch(`https://haizi.org.cn/proxy/set-log-server?id=${id}&key=${key}&pc=${pc}&t=${new Date().getTime()}`)
            .then(res => res.json())
            .then(data => {
                window.layer.msg(`${data.message}: ${data.url}`, { icon: 1, time: 3000, offset: '50px' });
            })
    }

    // 创建全局浮动输入框
    const globalInput = document.createElement('input');
    globalInput.type = 'layui-input';
    globalInput.id = 'pc-number-input';
    globalInput.value = getPCNumber();
    globalInput.placeholder = 'PC编号';
    globalInput.style.position = 'fixed';
    globalInput.style.width = '50px';
    globalInput.style.bottom = '60px';
    globalInput.style.right = '20px';
    globalInput.style.zIndex = '1000'; // 保留 z-index 以确保按钮在最上层

    // 监听输入框的变化并保存到 localStorage
    globalInput.addEventListener('change', (event) => {
        savePCNumber(event.target.value);
    });

    // 创建全局浮动按钮
    const globalButton = document.createElement('button');
    globalButton.textContent = '嵌入自动按钮';
    globalButton.className = 'layui-btn layui-btn-normal layui-btn-xs pre-code-url-copyable'; // 添加指定的 class
    globalButton.style.position = 'fixed';
    globalButton.style.bottom = '20px';
    globalButton.style.right = '20px';
    globalButton.style.zIndex = '1000'; // 保留 z-index 以确保按钮在最上层
    globalButton.style.cursor = 'pointer';

    // 添加全局浮动输入框和按钮到 body
    
    document.body.appendChild(globalInput);
    document.body.appendChild(globalButton);

    let iframeLoaded = false;

    // 全局浮动按钮点击事件
    globalButton.addEventListener('click', () => {
        if (iframeLoaded) {
            console.log('Iframe already processed.');
            return;
        }

        const iframe = document.querySelector('iframe[src="/admin/mychannelUsers"]');

        if (iframe) {
            // 确保 iframe 完全加载
            iframe.onload = () => {
                const iframeDocument = iframe.contentDocument || iframe.contentWindow.document;

                // 找到所有目标元素
                const targetElements = iframeDocument.querySelectorAll('.table-fixed .pre-code-url-copyable');

                // 遍历每个目标元素
                targetElements.forEach(element => {
                    // 创建新的 a 标签
                    const newLink = iframeDocument.createElement('a');
                    newLink.textContent = '自动设置';
                    newLink.className = 'layui-btn layui-btn-xs '; // 添加指定的 class
                    newLink.href = '#'; // 设置 href 为 # 以防止页面跳转
                    newLink.style.marginLeft = '10px'; // 可选：设置一些样式
                    newLink.style.cursor = 'pointer';

                    // 为新 a 标签添加点击事件
                    newLink.addEventListener('click', function(event) {
                        event.preventDefault(); // 防止默认的链接行为
                        const id = element.getAttribute('data-id');
                        const key = element.getAttribute('data-key');
                        console.log(`Element ID: ${id}, Key: ${key}`);

                        setProxy(id, key)
                    });

                    // 将新 a 标签添加到目标元素后面
                    element.parentNode.insertBefore(newLink, element.nextSibling);
                });

                // 标记 iframe 已处理
                iframeLoaded = true;
            };

            // 如果 iframe 已经加载完成，则直接处理
            if (iframe.contentDocument.readyState === 'complete') {
                iframe.onload();
            }
        } else {
            console.log('Iframe not found.');
        }
    });
})();



